/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ejemplocup;


import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java_cup.runtime.Symbol;

/**
 *
 * @author DiegoG
 */
public class main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException, Exception {

        //archivo .flex
        jflex.Main.generate(new File("Guaman_Diego_alexico.flex"));
        
    //ARCHIVO CUP
    String archSintactico = "";
    /*Ubicación del archivo .cup ,como el archivo esta en la raiz del 
    proyecto se crea únicamente na variable String para poner su ubicación*/
    archSintactico = "analizadorsint.cup";
    /*Se crea un vector donde indicamos el parser para el analizador 
    sintactico, el nombre de la clase que s va a crear al compilar 
    el arhivo .cup y la ubicación del archivo .cup*/
    String[] asintactico = {"-parser", "AnalizadorSintactico", archSintactico};        
    /*Llamamos al metodo main de la librería que generará las clases 
    AnalizadorSintactico.java y sym.java, donde están los símbolos*/
    java_cup.Main.main(asintactico);

        BufferedReader bf = new BufferedReader(new FileReader("test.txt"));
       AnalizadorLexico a = new AnalizadorLexico(bf);
        Symbol symbol = null;

        System.out.println("***** Tokens encontrados *********");
        do {
           symbol = a.next_token();
            System.out.println(symbol);

        } while (symbol != null);

    }

}
